"""
ReadMe：读取xlsx文件公共类
"""

import os
import pandas as pd
import chardet


# 通过输入路径，获取路径下文件的数据并合并返回一个dataFrame对象
def get_date(path):
    # 调用get_file_list()方法获取文件名列表
    file_list = get_file_list(path)
    # 调用get_file_content()方法获取文件内容，返回DataFrame对象file_content
    file_content = get_file_content(path, file_list)

    return file_content


# 在固定的路径下遍历文件夹，获取xlsx文件名列表
def get_file_list(path):
    file_list = []
    for root, dirs, files in os.walk(path):
        for file in files:
            # 默认情况下，只读取路径下的xlsx类型的文件
            if os.path.splitext(file)[1].lower() == '.xlsx':
                file_list.append(file)

    return file_list


# 通过地址+文件名列表，使用pandas库分别读取xlsx文件内容，生成并返回一个DateFrame对象
def get_file_content(path, file_list):
    # 定义一个DateFrame类型的对象file_content
    file_content = pd.DataFrame()
    for file in file_list:
        # 将查询的结果合并成一个DateFrame类型的对象file_content
        file_content = pd.concat([file_content, pd.read_excel(path + file)], axis=0)

    return file_content
